VSCode编写C++文件时头文件报错,下划线遇到无法打开源文件的问题 |
您所在的位置:网站首页 › c++ split头文件 › VSCode编写C++文件时头文件报错,下划线遇到无法打开源文件的问题 |
此种问题一般是使用LLVM+MINGW时遇到的,本人把c_cpp_properties.json中compilerPath从g++.exe修改成了C:/mingw64/bin/clang++.exe,导致新编写的cpp文件头文件红下划线报错,提示无法找到源文件iostream。 先给出解决方案: 1.把clang++修改为g++ 2.保留clang++, 修改compilerPath下方includePath,添加 "C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++", "C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32", "C:/mingw64/x86_64-w64-mingw32/include"具体路径根据你安装mingw的位置进行修改。 也可以改成: "C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/**", "C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/**", "C:/mingw64/x86_64-w64-mingw32/include/**"但是请注意,博主第一次修改成上述形式时VSCODE仍然报错,修改成第一种后,没报错后再修改成第二种才没报错,搞不懂原因。 原因分析: 你可以输入 clang++ -v -x c -E - 来看默认include进来文件夹,在默认情况下,是不包括mingw的头文件的,所以导致vscode报错找不到头文件。需要指定--target=x86_64-w64-mingw才行。 也就是 clang++ -v -x c --target=x86_64-w64-mingw -E - 这样才会include进mingw默认的path。 但是这个json里好像只能设置compilerPath 不知道能不能直接添加参数,本人还没尝试 输入g++ -v -x c -E -时,默认include进mingw文件,因此不会报错。 如果后续在vscode使用clang++编译提示找不到头文件,请在tasks.json中args参数下添加--target=x86_64-w64-mingw. 另外,博主在使用新版本llvm配mingw时遇到float.h不对的问题,请参考博主的这篇博文修改:float.h报错解决 本文来自博客园,作者:JessieLin,转载请注明原文链接:https://www.cnblogs.com/6543x1/p/17216142.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |